package com.xiangxg.jvm.classloader;


import java.util.Random;

/*
    当一个接口在初始化时，并不要求其父接口都完成了初始化
    只有真正使用到父接口的时候（如引用接口中宝的常量 时），才会初始化
    测试场景：
    将MyParent_5，MyChild_5都声明为类，会打印"MyParent5 invoked"
    将将MyParent_5声明为接口，不会打印"MyParent5 invoked"

 */
public class MyTest5_2 {
    public static void main(String[] args) {
        System.out.println(MyChild_5.b);
    }
}
interface MyGrandPanpa5_2{
    public static Thread thread = new Thread(){
        {
            System.out.println("MyGrandPanpa5 invoked");
        }
    };
}

interface MyParent5_2 extends MyGrandPanpa5_2{
    public static Thread thread = new Thread(){
        {
            System.out.println("MyParent5 invoked");
        }
    };
}

interface MyChild5_2 extends MyParent5_2{
    public static final int b = new Random().nextInt();
    //public static final int b = 6;

}